package com.skt.domain.DTO.request;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import lombok.EqualsAndHashCode;

import javax.validation.Valid;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
import java.util.List;

// 租赁结算请求类
@Data
@EqualsAndHashCode(callSuper = false)
@Schema(description = "租赁结算请求参数")
public class RentalCheckoutRequest {
    
    @NotBlank(message = "计算ID不能为空")
    @Schema(description = "费用计算ID", example = "calc_123456789")
    private String calculateId;
    
    @Valid
    @NotEmpty(message = "租赁商品不能为空")
    @Schema(description = "租赁商品明细列表")
    private List<RentalItemRequest> rentalItems;
    
    @Valid
    @NotNull(message = "联系信息不能为空")
    @Schema(description = "用户联系信息")
    private ContactInfoRequest contactInfo;
    
    @NotBlank(message = "防重令牌不能为空")
    @Schema(description = "防重提交令牌", example = "anti_123456789")
    private String antiToken;
}